package model.dominio;

import java.util.HashMap;
import utilitario.ValidaException;

public class Funcionario extends Pessoa {

  private String cargo;

    /**
     * @return the cargo
     */
    public String getCargo() {
        return cargo;
    }

    /**
     * @param cargo the cargo to set
     */
    public void setCargo(String cargo) {
        this.cargo = cargo;
    }
    
    public Funcionario (String nome, String cpf, String cargo) {
        super(nome, cpf);
        this.cargo = cargo;
    }
    
    public Funcionario(String nome, String cpf, String telefone, String endereco, String cargo){
        super(nome, cpf, telefone, endereco);
        this.cargo = cargo;
    }
    
    @Override
    public String toString() {
        return super.toString()+",<cargo="+this.cargo+">";
    }
    
    public static Funcionario stringToObject(String dados) throws ValidaException {
        if (dados!=null) {
            dados = dados.substring(1, dados.length() - 1);
            String aux[] = dados.split(">,<"), aux2[];
            HashMap<String, String> c = new HashMap<String, String>();
            for (int i = 0; i < aux.length; i++) {
                aux2 = aux[i].split("=");
                c.put(aux2[0], aux2[1]);
            }
            Funcionario funcionario = new Funcionario(c.get("nome"), c.get("cpf"), c.get("telefone"), c.get("endereco"), c.get("cargo"));
            funcionario.setCodigo(Integer.parseInt(c.get("codigo")));
            return funcionario;
        }else{
            throw new ValidaException("O funcionário não existe, busque novamente");
        }

    }

}